package cn.xyfmzmy.decorator.spring;


import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;
import java.util.Objects;

/**
 * 实现效果: 通过添加自定义注解，给请求的json加上时间戳
 * 依赖于@RequestBody的参数解析器，RequestResponseBodyMethodProcessor
 * 利用装饰器模式，在RequestResponseBodyMethodProcessor做增强，加上时间戳
 */
@RestController
@RequestMapping("/api")
public class MyController {

    @PostMapping
    public Map<String,Object> origin(@TimestampRequestBody Map<String,Object> json){
        return json;
    }
}
